package com.sxx.mall.order.vo;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.List;

/**订单确认页面中的数据VO
 * @Auther: sunxx
 * @Date: 2024/9/4 - 09 - 04 - 17:25
 * @Description: com.sxx.mall.order
 * @version: 1.0
 */
public class OrderConfirmVO {
    @Setter @Getter
    //订单的收货人 及地址信息
    List<MemberAddressVO> address;
    @Setter @Getter
    //购物车中选中的商品信息
    List<OrderItemVO> items;
    //支付方式
    //发票信息
    //优惠信息

    //token
    @Setter @Getter
    private String orderToken;

    //总商品个数
    public Integer getCountNum(){
        int count = 0;
        if(items != null){
            for (OrderItemVO item : items) {
                count += item.getCount();
            }
        }
        return count;
    }

    BigDecimal total;//所有商品总的金额
    public BigDecimal getTotal(){
        BigDecimal sum = new BigDecimal(0);
        if (items != null){
            for (OrderItemVO item : items) {
                sum = sum.add(item.getPrice().multiply(new BigDecimal(item.getCount())));
            }
        }
        return sum;
    }
    BigDecimal payTotal;//需要支付的总金额
    public BigDecimal getPayTotal(){
        return getTotal();
    }

    @Override
    public String toString() {
        return "OrderConfirmVO{" +
                "address=" + address +
                ", items=" + items +
                ", total=" + total +
                ", payTotal=" + payTotal +
                '}';
    }
}
